package com.itfenghuang.day10;


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*
    字节输入流 FileInputStream
 */
public class A06_字节输入流续集 {
        /*
            1.实现步骤
                1).创建字节流输入对象
                2).调用方法读
                3).释放资源
            2.需求:使用IO流完成文件的复制
                分析:找到该文件,然后将该文件读取到程序中,最后将数据写出到目的地
                    1).创建字节输入流对象
                    2).创建字节输出流
                    3).循环读写
                        边读(从原路径)边写(写到目的地)
                    4).释放资源
         */
    public static void main(String[] args) throws IOException {
//        创建字节输入流
//        FileInputStream fis = new FileInputStream("E:\\itfenghuang\\enen\\新建文本文档.txt");
//        调用方法读取文件
//        int r1 = fis.read();
//        int r2 = fis.read();//读到文件末尾是-1
//        System.out.println(r1);
//        System.out.println((char)r1);
//        释放资源
//        int i;
//        将读取到的值赋给变量i   判断i是否==-1
//        while ((i=fis.read())!=-1){
//            System.out.print((char)i);
//        }
//        fis.close();

//      2.需求
//        1).创建字节输入流对象
        FileInputStream fis = new FileInputStream("E:\\itfenghuang\\enen\\新建文本文档.txt");
//        2).创建字节输出流
        FileOutputStream mdd = new FileOutputStream("F:\\aaa\\a.txt");
//        循环读写  一次读写一个字节
        int i;
        while((i=fis.read())!=-1){
            mdd.write(i);
        }
//        释放资源
//        fis.close();
//        mdd.close();

//        一次读取一个字节数组
//        FileInputStream fis = new FileInputStream("F:\\aaa\\bj.pdf");
//        FileOutputStream fis1 = new FileOutputStream("F:bbb\\bj.pdf");
//        byte[]bys=new byte[1024];
//        int len;
//        一次读取一个字节数组  read方法的返回值:读取到的字节总个数
//                读取的数据在bys数组中  [0,len)
//        while ((len=fis.read(bys))!=-1){
//            fis1.write(bys,0,len);
//        }
//        fis.close();
    }
}
